package com.ruoyi.exam.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 题库进度信息Vo对象
 *
 * @author Tellsea
 * @date 2025-10-16
 */
@Data
@Accessors(chain = true)
@ApiModel("题库进度信息")
public class BankProgressInfoVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("题库ID")
    private Long bankId;

    @ApiModelProperty("题库名称")
    private String bankName;

    @ApiModelProperty("题库编码")
    private String bankCode;

    @ApiModelProperty("题库描述")
    private String description;

    @ApiModelProperty("题目总数")
    private Long totalQuestions;

    @ApiModelProperty("已完成题数")
    private Long completedQuestions;

    @ApiModelProperty("答对题数")
    private Long correctQuestions;

    @ApiModelProperty("完成百分比")
    private BigDecimal progressPercent;

    @ApiModelProperty("正确率")
    private BigDecimal accuracyRate;

    @ApiModelProperty("最后练习时间")
    private Date lastPracticeTime;

    @ApiModelProperty("总练习时长(秒)")
    private Long totalPracticeTime;

    @ApiModelProperty("是否完成(0未完成 1已完成)")
    private String isCompleted;

    @ApiModelProperty("当前题目ID")
    private Long currentQuestionId;

    @ApiModelProperty("当前题目序号")
    private Long currentSortOrder;

    @ApiModelProperty("学习天数")
    private Long studyDays;

    @ApiModelProperty("已学习数量")
    private Long studiedCount;

    @ApiModelProperty("总答题数")
    private Long totalAnswerCount;

    @ApiModelProperty("正确答题数")
    private Long correctAnswerCount;
}

